BF-011-BF-014: Improve tool discovery search, filters, favorites, and recents - #209
Merged
Merged
Conversation
Deploying byteflow with
|
| Latest commit: |
650ef8f
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://bd0d9f29.byteflow-c58.pages.dev |
| Branch Preview URL: | https://codex-bf-p1-search-filters-f.byteflow-c58.pages.dev |
This was referenced Jun 24, 2026
Closed
Closed
This was referenced Jun 24, 2026
Closed
Closed
Closed
Closed
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
Issues:
Implementation details:
src/core/search/tool-search-metadata.tscentralizes weighted metadata and localized aliases;scoreToolSearchapplies popularity, favorite, and recent bonuses without making those metadata markers searchable.src/core/storage/tool-discovery-state.tsmigrates legacy arrays to{ toolKey, updatedAt }records and keeps read helpers returning key lists for existing UI code.Privacy review:
localStorage.SEO review:
/[lang]/all-toolsremains indexable.Accessibility review:
role="dialog",aria-modal, explicit close controls, and reachable clear/done actions.aria-labelandaria-pressed.Tests:
npm run test -- tests/unit/command-search.test.ts tests/unit/tool-discovery-state.test.ts tests/component/all-tools-discovery.test.tsx tests/component/route-page-chrome.test.tsxnpm run test -- tests/unit/command-search.test.ts tests/unit/tool-discovery-state.test.ts tests/component/all-tools-discovery.test.tsx tests/component/route-page-chrome.test.tsx tests/guards/sensitive-storage-audit.test.ts tests/guards/command-palette-search-guard.test.ts tests/guards/all-tools-route-guard.test.tsnpm run test -- tests/unit/command-search.test.ts tests/component/all-tools-discovery.test.tsx tests/guards/command-palette-search-guard.test.ts tests/guards/sensitive-storage-audit.test.tsnpm run test -- tests/component/all-tools-discovery.test.tsx tests/unit/tool-discovery-state.test.tsnpm run test -- tests/unit/command-search.test.ts tests/component/all-tools-discovery.test.tsx tests/guards/sensitive-storage-audit.test.tsnpm run check:i18nnpm run check:types -- --pretty falsenpm run lint -- src/core/search/command-search.ts src/core/search/tool-search-metadata.ts src/core/storage/tool-discovery-state.ts src/features/tool-discovery/all-tools-discovery.tsx src/components/layout/command-palette.tsx src/components/layout/route-page-chrome.tsx src/components/layout/tool-favorite-control.tsx tests/unit/command-search.test.ts tests/unit/tool-discovery-state.test.ts tests/component/all-tools-discovery.test.tsx tests/component/route-page-chrome.test.tsx tests/guards/sensitive-storage-audit.test.tsnpm run lint -- src/components/layout/command-palette.tsx src/core/search/command-search.ts src/core/search/tool-search-metadata.ts tests/unit/command-search.test.ts tests/guards/command-palette-search-guard.test.tsnpm run lint -- 'src/app/[lang]/all-tools/page.tsx' src/features/tool-discovery/all-tools-discovery.tsx src/core/search/command-search.ts src/core/search/tool-search-metadata.ts tests/unit/command-search.test.ts tests/component/all-tools-discovery.test.tsxnpm run lint -- src/features/tool-discovery/all-tools-discovery.tsx tests/component/all-tools-discovery.test.tsxgit diff --checknpm run buildpassed after moving personalized All Tools controls out of static HTML and keeping the route within the performance budget.npm run buildattempts failed on/en/all-toolsHTML budget; those failures were used to reduce static page weight before the final passing build.npm run testpassed: 228 files, 1154 tests.npm run lintpassed.npm run buildpassed.